String Manipulation Techniques
Kirish
Bash scriptingda string manipulation — matnli ma’lumotlarni o‘zgartirish, ajratish, birlashtirish va tahlil qilish uchun ishlatiladigan usullar majmuasidir. Bu texnikalar loglarni, fayl nomlarini, parametrlarni va boshqa ko‘plab ma’lumotlarni avtomatlashtirishda juda muhim.
Asosiy amaliy usullar
1. String uzunligini aniqlash
str="Salom dunyo"
echo ${#str} # 11
2. Substring ajratish
str="Bash scripting"
echo ${str:5:9} # scripting
${str:5:9}— 5-indekstan boshlab 9 ta belgini ajratadi.
3. Stringni almashtirish (replace)
str="olma banan olma"
echo ${str/olma/gilos} # faqat birinchi "olma" ni almashtiradi
echo ${str//olma/gilos} # barcha "olma"larni almashtiradi
4. Stringni ajratish (split)
IFS (Internal Field Separator) yordamida:
str="olma,banan,uzum"
IFS=',' read -ra fruits <<< "$str"
for fruit in "${fruits[@]}"; do
echo $fruit
done
5. Stringni birlashtirish (concatenation)
a="Salom"
b="dunyo"
c="$a $b"
echo $c # Salom dunyo
6. Prefix va suffixni olib tashlash
file="backup_2025.tar.gz"
echo ${file#*_} # 2025.tar.gz (prefixni olib tashlash)
echo ${file%.tar.gz} # backup_2025 (suffixni olib tashlash)
7. Stringni teskari o‘zgartirish (reverse)
str="bash"
echo $(echo $str | rev) # hsab
8. Stringda qidirish va shartli tahlil
str="server_error"
if [[ $str == *error* ]]; then
echo "Xato topildi!"
fi
9. Regular expressions bilan ishlash
str="user123"
if [[ $str =~ ^user[0-9]+$ ]]; then
echo "Foydalanuvchi ID topildi"
fi
Amaliy misollar
1. Fayl nomidan kengaytmani ajratish
filename="report.pdf"
ext="${filename##*.}"
echo "Kengaytma: $ext" # pdf
2. Log fayldan IP manzillarni ajratib olish
log="User connected from 192.168.1.10"
ip=$(echo $log | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
echo "IP: $ip"
3. Stringni bosh harfga o‘zgartirish
str="salom"
echo "${str^}" # Salom
echo "${str^^}" # SALOM
4. Matndan faqat raqamlarni ajratib olish
str="Order #12345"
num=$(echo $str | grep -oE '[0-9]+')
echo "Raqam: $num"
Xulosa
String manipulation texnikalari bash skriptlarida matnli ma’lumotlarni tahlil qilish, o‘zgartirish va avtomatlashtirish uchun juda muhim. Bu usullar yordamida loglarni, fayl nomlarini, parametrlarni va boshqa ko‘plab ma’lumotlarni samarali